package com.itheima.d2_file;

import java.io.File;
import java.text.SimpleDateFormat;

/*
目标：File类判断、获取文件信息的方法
 */
public class Demo2 {
    public static void main(String[] args) {
        //public boolean exists()：判断调用方法的File对象代表的磁盘文件/文件夹，是否在磁盘上真实存在
        //1.需求：判断桌面上test文件夹是否真实存在！
        File testFile = new File("C:\\Users\\姜志成\\Desktop\\test");
        boolean r1 = testFile.exists();
        System.out.println("桌面上test文件夹是否存在：" + r1);
        //需求：判断桌面上test文件夹中，a.txt文件是否真实存在
        File aFile = new File(testFile, "a.txt");
        boolean r2 = aFile.exists();
        System.out.println("test文件夹中a.txt文件是否存在：" + r2);

        //public boolean isFile()：判断调用方法的File对象代表的是否是文件
        //2.需求：判断testFile代表的是否是文件
        boolean r3 = testFile.isFile();
        System.out.println("testFile代表的是否是文件：" + r3);

        //public boolean isDirectory()：判断调用方法的File对象代表的是否是文件夹
        //3.需求：判断testFile是否是文件夹
        boolean r4 = testFile.isDirectory();
        System.out.println("testFile是否是文件夹：" + r4);

        //public String getName()：获取文件/文件夹的名字，如果是文件，会带后缀名
        //4.需求：获取test文件夹下b.txt的文件名
        File bFile = new File(testFile, "b.txt");
        String bName = bFile.getName();
        System.out.println("b.txt文件名：" + bName);

        //public long length()：获取文件的字节个数，注意：只能是文件去调用
        //5.需求：获取b.txt文件的字节个数
        long bLength = bFile.length();
        System.out.println("b.txt文件的字节个数：" + bLength);

        //public long lastModified()：获取文件/文件夹上一次修改时间的时间毫秒值
        //6.需求：获取b.txt文件上一次的修改时间
        long time = bFile.lastModified();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        String str = sdf.format(time);
        System.out.println("b.txt文件的上一次修改时间是：" + str);

        //public String getPath()：获取File对象创建时提供的路径
        //7.需求：获取testFile创建对象时提供的路径
        String testPath = testFile.getPath();
        System.out.println("testFile创建对象时提供的路径：" + testPath);

        //public getAbsolutePath()：获取File对象的绝对路径
        //8.需求：获取b.txt文件的绝对路径
        String bFileAbsolutePath = bFile.getAbsolutePath();
        System.out.println("b.txt文件的绝对路径：" + bFileAbsolutePath);
    }
}
